package com.uinnova.product.eam.service;

import com.uinnova.product.eam.comm.model.OceanDiagram;

import java.util.List;
import java.util.Set;

public interface OceanDiagramService {

    /**
     * 根据源更新时间查询最新的一条数据
     * @return
     */
    OceanDiagram selectLastOne();

    /**
     * 删除所有数据
     */
    void deleteAll();

    /**
     * 根据视图id删除数据
     * @param deleteDiagramIds
     */
    void deleteByDiagramIds(Set<String> deleteDiagramIds);

    /**
     * 批量保存视图数据
     * @param oceanDiagrams
     */
    void saveBatch(List<OceanDiagram> oceanDiagrams);

    /**
     * 视图数据同步
     * @param oceanDiagrams
     * @param isFirst 是否是第一次同步 第一次同步 批量保存即可
     * @param deleteDiagramIds 后续增量同步 根据视图id先删除后保存
     */
    void syncData(List<OceanDiagram> oceanDiagrams, boolean isFirst, Set<String> deleteDiagramIds);

    /**
     * 视图数据先删后增
     * @param oceanDiagrams
     */
    void deleteAndSave(List<OceanDiagram> oceanDiagrams);
}
